<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        //   抽象出一类事物    Person
        //   实例化一个对象    p1  p2  p3 ....


        // 工厂函数创建对象


        // 工厂函数创建对象的缺点
        //    1 创建出来的对象无法正常的显示它的构造器
        //            []  -> Array
        //            //  -> RegExp
        //            p1  -> Object

        //   2  实例化出来的对象，他们的方法并没有共享
 
        // 通过函数来创建对象
        function Person(name , age , sex) {
            const obj = {} ;      // 原材料
            obj.name = name ;     // 加工
            obj.age = age ;
            obj.sex = sex ;
            obj.say = function() {
                console.log('hi');
            }
            return obj            // 出厂
        }


        const p1 = Person('yy' , 18 , '女') ;
        console.log(p1);
        const p2 = Person('qq' , 48 , '男') ;
        console.log(p2);
        // {name : 'yy' , age : 18 , sex : '女'}


        p1.say();
        p2.say();

        console.log(p1.say === p2.say);



        const arr = [1,2,3];
        console.log(arr);
        const arr2 = [2,3,4] ;

        console.log(arr.push === arr2.push);    // true



 
    </script>
    
</body>
</html>
